package db

// 新建rpm包
func (m *MysqlStruct) NewRpm(r *Rpm) error {
	//tx := m.Db.Begin()
	tx := m.Db
	if err := tx.Create(&r).Error;err!=nil{
		//tx.Rollback()
		return err
	}
	//tx.Commit()
	return nil
}
// 通过id更新Rpm信息
func (m *MysqlStruct) UpdateRpmById(id int,updates map[string]interface{}) error {
	//db := m.Db.Begin()
	db := m.Db
	obj := Rpm{}
	if err := db.Model(obj).Where("id = ?",id).Updates(updates).Error;err != nil{
		//db.Rollback()
		return err
	}
	//db.Commit()
	return nil
}

// 通过服务查询任务状态对象
func (m *MysqlStruct)GetRpmByServers(serverName string,r *[]Rpm)  error {
	tx := m.Db
	return tx.Where(&Rpm{ServerName: serverName}).Find(&r).Error
	// find xx .limit(xx)

}

// 通过id更新任务的状态对象
func (m *MysqlStruct)GetRpmById(id int,status *Rpm)error{
	tx := m.Db
	return  tx.Where(&status,id).Error

}

// 通过rpm包名来更新任务的状态对象
func (m *MysqlStruct)GetRpmByRpmName(rpm string,status *Rpm)error{
	tx := m.Db
	return  tx.Where(&Rpm{RpmName: rpm}).Find(&status).Error
}
